<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>对象的内置属性</title>
  </head>
  <body>
    <script>
      function createObject(elementCount, propertyCount) {
        // 添加排序属性
        for (let i = 0; i < elementCount; i++) {
          this[i] = `e-${i}`;
        }

        // 添加常规属性
        for (let i = 0; i < propertyCount; i++) {
          this[`pKey-${i}`] = `p-${i}`;
        }
      }

      // 创建对象，排序属性6个，普通属性6个
      //   var obj = new createObject(6, 6);

      // 创建对象，排序属性6个，普通属性16个，超出10以外的普通属性，以线性结构存储于properties中
      var obj = new createObject(16, 16);

      // 创建对象，排序属性6个，普通属性50个，超出10以外的普通属性，以非线性结构存储于properties中
      //   var obj = new createObject(6, 50);

      console.log(obj);
    </script>
  </body>
</html>
